package com.yitiao.multithread.cas;

import java.util.concurrent.atomic.AtomicInteger;

public class CASDemo {
    public static void main(String[] args) {
        AtomicInteger integer = new AtomicInteger(1);
        new Thread(()->{
            integer.compareAndSet(1,4);
            System.out.println(integer);
        }).start();
        new Thread(()->{
            integer.compareAndSet(1,3);
            System.out.println(integer);
        }).start();

//        i++;
//        public final int getAndAddInt(Object var1, long var2, int var4) {
//            int var5;
//            do {
//                var5 = this.getIntVolatile(var1, var2);
//            } while(!this.compareAndSwapInt(var1, var2, var5, var5 + var4));
//
//            return var5;
//        }

        System.out.println(integer);

    }
}
